FixedQueue

class FixedQueue<T>(val capacity: Int) : Queue<T> (source)

A strict queue with the given capacity. The differences from java.util.ArrayDeque are:

  • The underlying array is not resizeable.

  • Removal of arbitrary elements is not supported. Elements must be consumed one by one.

  • Reduced operation overhead for frequent insertions and removals.

Samples

import dev.kikugie.commons.collections.FixedQueue
import dev.kikugie.commons.collections.present
import kotlin.test.assertEquals
import kotlin.test.assertFailsWith

fun main() { 
   //sampleStart 
   val queue = FixedQueue<Int>(4)
queue += listOf(1, 2, 3, 4)

assertFailsWith<IndexOutOfBoundsException> { queue += 5 }
assertFailsWith<UnsupportedOperationException> { queue -= 3 }
assertEquals(1, queue.remove()) 
   //sampleEnd
}

Constructors

Link copied to clipboard
constructor(capacity: Int)

Types

Link copied to clipboard

Properties

Link copied to clipboard
Link copied to clipboard
open override var size: Int

Functions

Link copied to clipboard
open override fun add(e: T?): Boolean
Link copied to clipboard
open override fun addAll(elements: Collection<T?>): Boolean
Link copied to clipboard
open override fun clear()
Link copied to clipboard
open operator override fun contains(element: T?): Boolean
Link copied to clipboard
open override fun containsAll(elements: Collection<T?>): Boolean
Link copied to clipboard
open override fun element(): T?
Link copied to clipboard
operator fun get(index: Int): T
Link copied to clipboard
open override fun isEmpty(): Boolean
Link copied to clipboard
open operator override fun iterator(): FixedQueue.FixedQueueIterator<T>
Link copied to clipboard
open override fun offer(e: T?): Boolean
Link copied to clipboard
open override fun peek(): T?
Link copied to clipboard
open override fun poll(): T?
Link copied to clipboard
open override fun remove(): T
open override fun remove(element: T?): Boolean
Link copied to clipboard
open override fun removeAll(elements: Collection<T?>): Boolean
Link copied to clipboard
open override fun retainAll(elements: Collection<T?>): Boolean
Link copied to clipboard
open override fun toString(): String